package gespap2009;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Reserva {
	
	private Date fecha;
    // Todas las fechas deben tener el mismo formato.
	private static SimpleDateFormat formato;  
	private List<EjemplarArticulo> ejemplaresReservados;
	
	@SuppressWarnings("static-access")
	Reserva(String fecha, List<EjemplarArticulo> ejemplaresAReservar) {
		this.formato = new SimpleDateFormat ("dd-mm-yyyy");
		setFecha(fecha);
		this.ejemplaresReservados = new ArrayList();
        reservarEjemplares (ejemplaresAReservar);
	}

    Reserva() {
    }

    Reserva(String fecha) {
    }

	public String getFecha() {
		return this.fecha.toString();
	}

    private void setFecha(String fecha) {
		try {
			this.fecha = formato.parse(fecha);
		} catch (ParseException e) {
			System.out.println("La fecha introducida no es correcta.");
			e.printStackTrace();
		}
	}

	public List<EjemplarArticulo> getEjemplaresReservados() {
		return ejemplaresReservados;
	}

	/*
	 * Métodos privados.
	 */

    private void reservarEjemplares
            (List<EjemplarArticulo> ejemplaresAReservar){

        int i;
        for (i=0; i<ejemplaresAReservar.size(); i++){
            ejemplaresAReservar.get(i).setEstadoArticuloReservado();
        }
        this.ejemplaresReservados = ejemplaresAReservar;
    }




}
